Printing a three dimensional object about a preformed structure

ABSTRACT

A computer program product includes a computer readable storage medium having program instructions embodied therewith, wherein the program instructions are executable by a processor to cause the processor to perform a method. The method includes obtaining a data file that includes print instructions for causing a three dimensional printer to print a three dimensional object, wherein the data file describes external surfaces of the object, and providing user instructions for positioning a preformed structure so that the three dimensional printer can print the object around the preformed structure, wherein the preformed structure has a size and a shape to be subsumed within the external surfaces of the object. The method further includes modifying the print instructions so that the printer will print the object around the preformed structure, and printing material around the preformed structure using the modified print instructions to form the object.

BACKGROUND

Field of the Invention

The present invention relates to methods of three-dimensional printing.

Background of the Related Art

Three-dimensional (3D) printing is a process of making athree-dimensional object from a digital model using an additive process,where successive layers of material are laid down over previous layers.The material may be a thermoplastic polymer filament that is heated andextruded through a narrow nozzle. In one type of three dimensionalprinter, the nozzle, the table supporting the material, or both is movedto control where the material is deposited. Other types of threedimensional printers may use alternative mechanisms to control theposition of a nozzle for dispensing the material.

3D printing is becoming a big industry with a growing number of printermanufacturers and web sites that provide construction plans in the formof a data file for downloading to a computer. Unfortunately, 3D printingis much more complex than 2D printing and requires much more time toproduce an object. Objects that are printed at a fine level of detailand are not tiny can take many hours to complete. Ideally, a 3D printjob is not started unless there is enough time and materials to completethe job.

BRIEF SUMMARY

One embodiment of the present invention provides a computer programproduct comprising a computer readable storage medium having programinstructions embodied therewith, the program instructions executable bya processor to cause the processor to perform a method. The methodcomprises obtaining a data file that includes print instructions forcausing a three dimensional printer to print a three dimensional object,wherein the data file describes external surfaces of the object, andproviding user instructions for positioning a preformed structure sothat the three dimensional printer can print the object around thepreformed structure, wherein the preformed structure has a size and ashape to be subsumed within the external surfaces of the object. Themethod further comprises modifying the print instructions so that theprinter will print the object around the preformed structure, andprinting material around the preformed structure using the modifiedprint instructions to form the object.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a diagram of a computer controlling a three-dimensionalprinter.

FIG. 2 is a diagram of a computer according to one embodiment of thepresent invention.

FIGS. 3A-B are diagrams of an alternative three-dimensional printer.

FIGS. 4A-C are diagrams of a three-dimensional object to be printed, apreformed structure positioned on a base portion of thethree-dimensional object, and the completed three-dimensional objectprinted around the preformed structure.

FIGS. 5A-D are examples of suitable and unsuitable preformed structuresfor inclusion in a particular three-dimensional object to be printed.

FIG. 6 is a flowchart of a method in accordance with one embodiment ofthe present invention.

DETAILED DESCRIPTION

One embodiment of the present invention provides a method that comprisesobtaining a data file that includes print instructions for causing athree dimensional printer to print a three dimensional object, whereinthe data file describes external surfaces of the object, and providinguser instructions for positioning a preformed structure so that thethree dimensional printer can print the object around the preformedstructure, wherein the preformed structure has a size and a shape to besubsumed within the external surfaces of the object. The method furthercomprises modifying the print instructions so that the printer willprint the object around the preformed structure, and printing materialaround the preformed structure using the modified print instructions toform the object. Preferably, printing material around the preformedstructure reduces the amount of time and material required for thethree-dimensional printer to form the object.

The user instructions may be predetermined instructions that are part ofthe data file. Optionally, the user instructions may be provided eachtime that the print instructions are executed, so that a preformedstructure is always positioned for inclusion in the object. Thepreformed structure may be the same shape and size each time the objectis printed, or the preformed structure may vary so long as it can besubsumed within the completed object. In a further option, the userinstructions are provided in response to determining that a remainingamount of print material available to form the object is less thanrequired to form the object, or determining that the amount of timerequired to form the object is greater than a time setpoint.

Optionally, the preformed structure may have a predetermined size andshape for use in printing the object, such that the data file includesmodified or alternative print instructions to account for presence ofthe preformed structure. If the user provides input indicating that thepredetermined preformed structure has been positioned in accordance withthe user instructions, then the modified or alternative printinstructions are followed to complete the object around thepredetermined preformed structure. For example, a preferred preformedstructure may have dimensions and weight that, when positioned inaccordance with the user instructions, will provide the printed objectwith a desired center of gravity. Still further, the data file forprinting an object may include multiple possible positions where apreformed structure may be inserted. When printing has proceeded to oneof these insertion points, the user may be prompted to include thepreformed structure and provide some indication whether the preformedstructure was or was not included before the printing continues.

Alternatively, the preformed structure may be a random size and shapethat is available, although the size and shape must allow the preformedstructure to be subsumed within the object. When a random preformedstructure is used, the method may include scanning the preformedstructure after positioning the preformed structure in thethree-dimensional printer in order to determine the actual positioningand contour of the preformed structure. Printing material around thepreformed structure to form the object may then include modifyingcontrol of the three-dimensional printer to adjust to the actualpositioning and contour of the preformed structure.

In another embodiment, the method may maintain an inventory of preformedstructures that are available to be positioned in the three dimensionalprinter, and select one of the preformed structures from the inventoryto be the preformed structure that is positioned into the threedimensional printer to be included in the object. The selected preformedstructure may be identified by having a size that can be subsumed withinthe object. For example, the preformed structure may have beenpreviously printed on the three dimensional printer, such that the threedimensional printer or attached memory may know the exact dimensions andmass of the preformed structure. Optionally, the preformed structure maybe defective for its intended purpose, such that its best use isrecycling into another object. Defective structures may, for example,result from mechanical failures of the printer, improper manufacturingconditions, poor software design or settings, or interruptions in theprinter operation.

Optionally, the three dimensional printer, or a computer system sendingprint jobs to the three dimensional printer, may store data regardingobjects that were previously printed with any one or more threedimensional printers. Accordingly, the printer or computer system maystore the dimensions and weight of those previous objects that may bereused or recycled as a preformed structure to be subsumed within anobject to be printed, and may also store an indication whether theprevious object was defective or incomplete in some manner. Stillfurther, the preformed structure may be a previous object that has nofurther use, has exceeded its intended life cycle, or has passed anexpiration date. A particular preformed structure may also be identifiedusing a radio frequency identification (RFID) tag or otheridentification system in order to find stored information about thepreformed structure.

The user instructions may include recommended dimensions and weight foruser selection of a preformed structure that can be subsumed into theobject. The user instructions may also identify a position for placementof the preformed structure. Optionally, the user instructions may beoutput to a display screen and include an illustration of a desiredposition for the preformed structure. In a further option, the printermay include a light that projects an indication of a target position andorientation for the preformed structure.

The print instructions for printing the object are modified to accountfor the preformed structure, such as printing around the preformedstructure. Alternatively, the print instructions may be modified to forman internal void in one portion of the object in response to positioningthe preformed structure in another portion of the object, or to leavevoids in a portion of the object to offset additional weight of thepreformed structure.

The task of printing material onto the preformed structure may includeprinting material onto upward-facing and side-facing surfaces of thepreformed structure. Furthermore, the task of printing material onto thepreformed structure may include printing material onto surfaces of thepreformed structure until the preformed structure is subsumed within theinterior of the object. In one option, the preformed structure isselected so that the object will have at least a minimum depth ofprinted material around the preformed structure.

In one option, the preformed object may be positioned as a startingpoint prior to printing any material. In another option, the method mayinclude printing a base portion of the object prior to positioning thepreformed structure into the three-dimensional printer on the baseportion. After positioning the preformed structure into thethree-dimensional printer on the base portion, the method will continueto print the object. The base portion may be a simple layer of thematerial or a complex three-dimensional structure.

Another embodiment of the present invention provides a computer programproduct comprising a computer readable storage medium having programinstructions embodied therewith, the program instructions executable bya processor to cause the processor to perform a method. The methodcomprises obtaining a data file that includes print instructions forcausing a three dimensional printer to print a three dimensional object,wherein the data file describes external surfaces of the object, andproviding user instructions for positioning a preformed structure sothat the three dimensional printer can print the object around thepreformed structure, wherein the preformed structure has a size and ashape to be subsumed within the external surfaces of the object. Themethod further comprises modifying the print instructions so that theprinter will print the object around the preformed structure, andprinting material around the preformed structure using the modifiedprint instructions to form the object.

The foregoing computer program product may further include programinstructions for implementing or initiating any one or more aspects ofthe methods described herein. Accordingly, a separate description of themethods will not be duplicated in the context of a computer programproduct.

FIG. 1 is a diagram of a system 10 including a computer 20 controlling athree-dimensional printer 30. This three-dimensional printer 30 includesa filament spool 32 for supplying a plastic filament 34 into an extruder36. The heated plastic is pushed through a nozzle 38 onto a print bed ortable 40 where the object is printed. As shown, the object 70 hasalready received a number of layers of plastic material, such that thenozzle is some distance above the table 40.

The position of the tip of the nozzle 38 determines where a thin layerof the plastic material will be placed. As the plastic passes throughthe nozzle 38, the nozzle 38 may be moved back and forth along an X-axisby an X-axis motor 42, and the table 40 may be moved back and forthalong a Y-axis by a Y-axis motor 44. As each layer has been completed inthe X-Y plane, the table may be moved down along a Z-axis by a Z-axismotor 46 so that another layer of the plastic may be applied through thenozzle moving in along the X-axis while the object or work piece ismoved along with the table along the Y-axis. The printer also includesstructural members that guide the nozzle along the X-axis, guide thetable along the Y-axis, and guide the table along the Z-axis. Thecomputer 20 provides instructions to the printer 30 to operate theX-axis motor 42, the Y-axis motor 44, and the X-axis motor 46 in amanner that positions the nozzle 38 where is can progressively build theobject.

FIG. 2 is a diagram of an exemplary computer 20 that may be used inaccordance with one embodiment of the present invention. The computer 20includes a processor unit 104 that is coupled to a system bus 106.Processor unit 104 may utilize one or more processors, each of which hasone or more processor cores. A video adapter 108, which drives/supportsa display 22, is also coupled to system bus 106. The system bus 106 iscoupled via a bus bridge 112 to an input/output (I/O) bus 114. An I/Ointerface 116 is coupled to I/O bus 114. I/O interface 116 affordscommunication with various I/O devices, including a keyboard 23, a mouse24, a camera 25 and a 3D printer 30. The I/O devices may optionallyinclude storage devices, such as CD-ROM drives and multi-mediainterfaces, other printers, and external USB port(s). While the formatof the ports connected to I/O interface 116 may be any known to thoseskilled in the art of computer architecture, in a preferred embodimentsome or all of these ports are universal serial bus (USB) ports. Asdepicted, the computer 20 is able to communicate over a network 38 usinga network interface 130. The network 38 may be an external network, suchas the global communication network, and perhaps also an internalnetwork such as an Ethernet LAN or a virtual private network (VPN).

A hard drive interface 132 is also coupled to system bus 106 andinterfaces with a hard drive 134. In a preferred embodiment, the harddrive 134 populates a system memory 136, which is also coupled to systembus 106. System memory is defined as a lowest level of volatile memoryin computer 100. This volatile memory includes additional higher levelsof volatile memory (not shown), including, but not limited to, cachememory, registers and buffers. Data that populates system memory 136includes the computer's operating system (OS) 138 and applicationprograms 144.

The operating system 138 includes a shell 140, for providing transparentuser access to resources such as application programs 144. Generally,the shell 140 is a program that provides an interpreter and an interfacebetween the user and the operating system. More specifically, the shell140 executes commands that are entered into a command line userinterface or from a file. Thus, the shell 140, also called a commandprocessor, is generally the highest level of the operating systemsoftware hierarchy and serves as a command interpreter. The shellprovides a system prompt, interprets commands entered by keyboard,mouse, or other user input media, and sends the interpreted command(s)to the appropriate lower levels of the operating system (e.g., a kernel142) for processing. Note that while shell 140 is a text-based,line-oriented user interface, the present invention will equally wellsupport other user interface modes, such as graphical, voice, gestural,etc.

As depicted, the OS 138 also includes a kernel 142, which includes lowerlevels of functionality for OS 138, including providing essentialservices required by other parts of OS 138 and application programs 144,including memory management, process and task management, diskmanagement, and mouse and keyboard management. The application programs144 in the system memory of the computer 20 may include various programsand modules for implementing the methods described herein, such as the3D printer control logic 82, the 3D data files 84, and a preformedstructures inventory 86.

The hardware elements depicted in computer 20 are not intended to beexhaustive, but rather are representative components suitable to performthe processes of the present invention. For instance, computer 20 mayinclude alternate memory storage devices such as magnetic cassettes,digital versatile disks (DVDs), Bernoulli cartridges, and the like.These and other variations are intended to be within the spirit andscope of the present invention.

FIGS. 3A-B are diagrams of an alternative three-dimensional printer 50.The 3D printer 50 has a stable base 52 and various arms 54, 56, 58. Thebase and the arms are pivotally coupled with various axis. For example,the base 52 has a vertical axis 60 so that an upper portion 53 of thebase, as well as the entire assembly above the upper portion 53, canrotate. The upper portion 53 of the base and the first arm 54 arepivotally coupled about a first horizontal axis 62, and the first arm 54is pivotally coupled to the second arm 56 about a second horizontal axis64. The second arm 56 and the third arm 58 are pivotally coupled aboutthe axis 66, which is perpendicular to the axis 66. Further still, thenozzle 59 is pivotally coupled to the third arm 58 about the axis 68.The pivot angle between each pair of the foregoing components can beindependently controlled by a motor receiving control signals from acomputer or similar controller. Accordingly, the tip of the nozzle 59can be positioned to dispense material in three-dimensions and invarious angular orientations. In the embodiment shown, the material isdelivered to the nozzle 59 through a tube 57 from a material source (notshown).

As shown in FIG. 3A, the incomplete object 70 includes a base portion 72and a preformed structure 74. As shown in FIG. 3B, the three-dimensionalprinter 50 has moved under computer control to position the nozzle 59 tocontinue printing material onto the base 72 around the preformedstructure 74. The flow of material through the nozzle 59 may becontrolled by a pump (not shown) and/or a valve (not shown) receivingcontrol signals from the computer.

FIG. 4A is a diagram of a three-dimensional object 70 to be printed inaccordance with a data file that describes the external surfaces of theobject and how to print the object. FIG. 4B is a diagram of a preformedstructure 74 positioned on a base portion 72 of the three-dimensionalobject 70 (FIG. 2). Here, the printing has paused and the preformedstructure 74 has been positioned in accordance with user instructionsprovided by the data file so that the three dimensional printer canprint the object around the preformed structure, wherein the preformedstructure has a size and a shape to be subsumed within the externalsurfaces of the object. Accordingly, the print instructions are modifiedso that the printer will print the object around the preformedstructure. FIG. 4C is a diagram of the completed three-dimensionalobject 70 printed around the preformed structure 74 using the modifiedprint instructions. Although the three-dimensional object 70 (cube) andthe preformed structure 74 (cylinder) are shown as very simple shapes,they are representative of a relationship in which the preformedstructure 74 is subsumed in the three-dimensional object 70. In actualuse, it is expected that one or both of the object and preformedstructure will be more complex shapes.

FIGS. 5A-D are examples of suitable and unsuitable preformed structuresfor inclusion in a particular three-dimensional object to be printed.Using a data file that describes or defines the external surfaces orboundaries of the three-dimensional object to be printed, a threedimensional printer or computer providing a print job to the printer mayprovide dimensions of a suitable preformed structure that may besubsumed within the object. Where there is a data file also describingthe dimensions of one or more preformed structures, the printer orcomputer may select a preformed object that is suitable for inclusion inthe object.

FIG. 5A illustrates a three-dimensional object 150 to be printed and acandidate preformed structure in a first orientation 152A and a secondorientation 152B. As can be seen, this preformed structure is unsuitablebecause it is too big (long) to be subsumed within the object 150.

FIG. 5B illustrates the same three-dimensional object 150 to be printedand another candidate preformed structure 154 (a defectively printedapple) that is clearly subsumed within the boundaries of the object 150.If this conclusion is confirmed in all three dimensions, then thepreformed structure 154 is suitable for inclusion in the object 150.While not required, the preformed structure 154 has been positioned on abase portion 151 so that the structure 154 is more centered within theobject 150 as a whole.

FIG. 5C illustrates the three-dimensional object 150 to be printed and acandidate preformed structure 156 (a bolt-like structure). If thisconclusion is confirmed in all three dimensions, then the preformedstructure 156 is suitable for inclusion in the object 150. In thisillustration, the preformed structure 156 is still subsumed in theobject 150, but may have been positioned in a print area prior to anyprinting. Accordingly, the preformed structure 156 forms part of thebase of the object and would be viewable upon handling of the completedobject 150. However, the structure is considered to be subsumed withinthe object since the structure does not extend beyond the boundaries ofthe object. If this is undesirable, then a base portion (as in FIG. 5B)could be printed prior to positioning the structure.

FIG. 5D illustrates the three-dimensional object 150 to be printed and acandidate preformed structure 158 (having a hexagonal cross-section). Inthe cross-section shown, it appears that the preformed structure 158would be subsumed within the object 150. While this should be confirmedin all three dimensions, FIG. 5D illustrates a further requirement ofhaving at least a minimum depth or thickness (t) of printed materialaround the preformed structure. As shown, the preformed structure 158 isstill subsumed in the object 150, but is nonetheless unsuitable becauseit fails to meet the minimum depth requirement.

FIG. 6 is a flowchart of a method 160 in accordance with one embodimentof the present invention. Step 162 includes obtaining a data file thatincludes print instructions for causing a three dimensional printer toprint a three dimensional object, wherein the data file describesexternal surfaces of the object. Step 164 provides user instructions forpositioning a preformed structure so that the three dimensional printercan print the object around the preformed structure, wherein thepreformed structure has a size and a shape to be subsumed within theexternal surfaces of the object. The print instructions are modified, instep 166, so that the printer will print the object around the preformedstructure. Then, in step 168, the method prints material around thepreformed structure using the modified print instructions to form theobject.

The present invention may include a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,components and/or groups, but do not preclude the presence or additionof one or more other features, integers, steps, operations, elements,components, and/or groups thereof. The terms “preferably,” “preferred,”“prefer,” “optionally,” “may,” and similar terms are used to indicatethat an item, condition or step being referred to is an optional (notrequired) feature of the invention.

The corresponding structures, materials, acts, and equivalents of allmeans or steps plus function elements in the claims below are intendedto include any structure, material, or act for performing the functionin combination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but it is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A computer program product comprising a computerreadable storage medium having program instructions embodied therewith,the program instructions executable by a processor to cause theprocessor to perform a method comprising: obtaining a data file thatincludes print instructions for instructing a three dimensional printerto print a three dimensional object, wherein the data file describesexternal surfaces of the object; providing user instructions forpositioning a preformed structure so that the three dimensional printercan print the object around the preformed structure, wherein thepreformed structure has a size and a shape to be subsumed within theexternal surfaces of the object; modifying the print instructions sothat the printer will print the object around the preformed structure;and instructing the three dimensional printer to print material aroundthe preformed structure using the modified print instructions to formthe object.
 2. The computer program product of claim 1, wherein printingmaterial around the preformed structure reduces the amount of timerequired for the three-dimensional printer to form the object.
 3. Thecomputer program product of claim 1, wherein the user instructions areprovided in response to determining that a remaining amount of printmaterial available to form the object is less than required to form theobject, or determining that the amount of time required to form theobject is greater than a time setpoint.
 4. The computer program productof claim 1, the method further comprising: maintaining an inventory ofpreformed structures that are available to be positioned in the threedimensional printer; and selecting one of the preformed structures fromthe inventory to be the preformed structure that is positioned into thethree dimensional printer by identifying that the preformed structurehas a size that can be subsumed within the object.
 5. The computerprogram product of claim 4, wherein the preformed structure waspreviously printed on the three dimensional printer.
 6. The computerprogram product of claim 5, wherein the preformed structure that waspreviously printed on the three dimensional printer is defective.
 7. Thecomputer program product of claim 1, wherein the user instructionsinclude dimensions for user selection of a preformed structure that canbe subsumed into the object.
 8. The computer program product of claim 1,wherein the user instructions identify a position for placement of thepreformed structure.
 9. The computer program product of claim 1, whereinthe user instructions are output to a display screen and include anillustration of a desired position for the preformed structure.
 10. Thecomputer program product of claim 1, wherein modifying the printinstructions for printing the object to account for the preformedstructure includes providing print instructions for printing around thepreformed structure.
 11. The computer program product of claim 1,wherein modifying the print instructions so that the printer will printthe object around the preformed structure includes providing printinstructions for forming an internal void in one portion of the objectin response to positioning the preformed structure in another portion ofthe object.
 12. The computer program product of claim 1, whereinmodifying the print instructions so that the printer will print theobject around the preformed structure includes providing printinstructions for leaving voids in a portion of the object to offsetadditional weight of the preformed structure.
 13. The computer programproduct of claim 1, wherein the preformed structure has a predeterminedsize and shape, and wherein the data file includes modified printinstructions to account for presence of the preformed structure.
 14. Thecomputer program product of claim 1, the method further comprising:scanning the preformed structure after positioning the preformedstructure in the three-dimensional printer to determine the actualpositioning of the preformed structure, wherein instructing the threedimensional printer to print material around the preformed structure toform the object includes modifying control of the three-dimensionalprinter to adjust to the positioning of the preformed structure.
 15. Thecomputer program product of claim 1, wherein instructing the threedimensional printer to print material onto the preformed structureincludes instructing the three dimensional printer to print materialonto upward-facing and side-facing surfaces of the preformed structure.16. The computer program product of claim 1, wherein instructing thethree dimensional printer to print material onto the preformed structureincludes instructing the three dimensional printer to print materialonto surfaces of the preformed structure until the preformed structureis subsumed within the interior of the object.
 17. The computer programproduct of claim 1, wherein the preformed structure is selected so thatthe object will have at least a minimum depth of printed material aroundthe preformed structure.
 18. The computer program product of claim 1,the method further comprising: instructing the three dimensional printerto print a base portion of the object prior to positioning the preformedstructure into the three-dimensional printer on the base portion; andinstructing the three dimensional printer to continuing to print theobject after positioning the preformed structure into thethree-dimensional printer on the base portion.